﻿using System;
using Ro.Common.RoArgs;
using Ro.Common.RoInterface;

namespace Ro.AssistFunction.OutputManage
{
    /// <summary>
    /// 异常输出提取成一个方法
    /// 异常保留在Rolog中，包含一个对外输出
    /// </summary>
    public class ExceptionOutPut
    {
        /// <summary>
        /// 系统异常输出
        /// 不包含console输出
        /// 包含RoLog输出
        /// </summary>
        /// <param name="functionname">方法名称</param>
        /// <param name="e">异常信息</param>
        public static void SystemExceptionOut(string functionname, Exception e)
        {
            if (RoPubArgments.ProTips)
            {
                RoOutputToGui roOutputToGui = new RoOutputToGui();
                //获取当前时间
                string nowtime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                roOutputToGui.OutDetail(nowtime, "遭遇系统异常，详情:"+e);
            }
            else
            {
                //添加输出
                RoPubArgments.RoOutputToConsole.OutputConsole(RoLogStatus.Fatal, "方法" + functionname + "遭遇系统异常，详情参看Develop_Log");
            }
            RoPubArgments.RoLog.Fatal("方法" + functionname + "遭遇系统异常。详情：\r\n" + e);
        }
    }
}
